const fileRegex = /\.(my-virtual-module)$/
export default function myPlugin() {
  const virtualModuleId = '@my-virtual-module'
  const resolvedVirtualModuleId = '\0' + virtualModuleId
  let config;
  return {
    // 必须的，将会在 warning 和 error 中显示
    name: 'my-plugin',
    //以下钩子会在每个传入模块请求时被调用：
    resolveId(id) {
      if (id === virtualModuleId) {
        console.log("resolveId",id)
        return resolvedVirtualModuleId
      }
    },
    load(id) {
      if (id === resolvedVirtualModuleId) {
        console.log("load",id)
        return `export const msg = "from virtual module"`
      }
    }, // transform(src,id ) {
    //   if (id === virtualModuleId) {
    //     console.log("transform", src, id);
    //     return {
    //       code: compileFileToJS(src),
    //       map: null // 如果可行将提供 source map
    //     }
    //   }
    // },


    //以下钩子在服务器启动时被调用
    options(opts){
      console.log("options",opts)
    },
    buildStart(){
      console.log("buildStart")
    },
    configResolved(resolvedConfig) {
      // 存储最终解析的配置
      config = resolvedConfig
    },

    // 在其他钩子中使用存储的配置
    transform(code, id) {
      if (config.command === 'serve') {
        // dev: 由开发服务器调用的插件
      } else {
        // build: 由 Rollup 调用的插件
      }
    }
  }
}
